package com.hanthink.system.service.manhour;

import java.util.List;

import com.hanthink.system.domain.manhour.ImportEntity.PLineMachineStructureImportEntity;
import com.hanthink.system.domain.manhour.PLineMachineStructure;

/**
 * 产线的设备维护Service接口
 * 
 * @author hanthink
 * @date 2022-05-05
 */
public interface IPLineMachineStructureService 
{
    /**
     * 查询产线的设备维护
     * 
     * @param id 产线的设备维护ID
     * @return 产线的设备维护
     */
        PLineMachineStructure selectPLineMachineStructureById(Long id);

    /**
     * 查询产线的设备维护列表
     * 
     * @param pLineMachineStructure 产线的设备维护
     * @return 产线的设备维护集合
     */
    List<PLineMachineStructure> selectPLineMachineStructureList(PLineMachineStructure pLineMachineStructure);

    /**
     * 根据部门id和产线id查找所有设备
     * @param deptid 部门id
     * @param plineid 产线id
     * @return 产线设备明细
     */
    List<PLineMachineStructure> selectPLineMachineStructureListbyfactoryid(String deptid,String plineid);

    /**
     * 根据部门id和产线名称查询所有设备
     * @param deptid 部门id
     * @param plinename 产线名称
     * @return 产线设备明细
     */
    List<PLineMachineStructure> selectPLineMachineStructureListbyfactoryname(String deptid,String plinename);

    /**
     * 新增产线的设备维护
     * 
     * @param pLineMachineStructure 产线的设备维护
     * @return 结果
     */
    int insertPLineMachineStructure(PLineMachineStructure pLineMachineStructure);

    /**
     * 修改产线的设备维护
     * 
     * @param pLineMachineStructure 产线的设备维护
     * @return 结果
     */
    int updatePLineMachineStructure(PLineMachineStructure pLineMachineStructure);

    /**
     * 批量删除产线的设备维护
     * 
     * @param list 需要删除的产线的设备维护ID
     * @return 结果
     */
    int deletePLineMachineStructureByIds(List<PLineMachineStructure> list);

    /**
     * 删除产线的设备维护信息
     * 
     * @param id 产线的设备维护ID
     * @return 结果
     */
    int deletePLineMachineStructureById(Long id);


    /**
     * @Description: 产线的设备维护信息导入
     * @param planList
     * @param operName
     * @return: java.lang.String
     * @Author: 唐子越
     * @Date: 2023/7/6 11:30
     */
    String importPlan(List<PLineMachineStructureImportEntity> planList, String operName);
}
